草庐IT

ASP.NET MVC - 安全

全部标签

javascript - 将 'arguments' 传递给 'apply()' 是否安全

假设我有以下代码(完全没用,我知道)functionadd(a,b,c,d){alert(a+b+c+d);}functionproxy(){add.apply(window,arguments);}proxy(1,2,3,4);基本上,我们知道apply需要一个数组作为第二个参数,但我们也知道arguments不是一个正确的数组。代码按预期工作,所以可以肯定地说我可以将任何类似数组的对象作为apply()中的第二个参数传递吗?以下内容也可以使用(至少在Chrome中):functionproxy(){add.apply(window,{0:arguments[0],1:argumen

javascript - 依赖 Content-Type : text/plain to mitigate malicious javascript execution in response? 是否安全

我们有一个返回的web应用程序HTTP/1.1400BadRequest...Content-Type:text/plain;charset=UTF-8Content-Length:57Date:Tue,14Apr201519:24:54GMTConnection:closeInvalidprojectareaitemidalert(1086)据我了解,依靠Content-Type:text/plain;charset=UTF-8作为防御来阻止javascript执行是不够的。相反,应该对输出进行编码,并且应该对输入进行输入验证并丢弃垃圾。我正在寻找的是关于处理具有javascript

c# Asp.net 获取在 javascript 中设置的 Cookie 过期时间总是返回 01.01.0001

我使用javascript函数来存储cookie:createCookie("teaser","teaser",7);functioncreateCookie(name,value,days){varexpires="";if(days){vardate=newDate();date.setTime(date.getTime()+(days*24*60*60*1000));expires=";expires="+date.toGMTString();}document.cookie=name+"="+value+expires+";path=/";returnvalue;}当我检查浏览

javascript - AJAX 跨域安全背后的基本原理是什么?

考虑到编写跨域获取数据的服务器端代理的简单性,我不知道阻止客户端AJAX跨域调用的最初意图是什么。我不是在寻求猜测,我是在寻找语言设计者(或与他们关系密切的人)的文档,了解他们认为自己在做什么,而不仅仅是给开发人员带来轻微的不便。TIA 最佳答案 防止浏览器充当反向代理。假设您正在浏览http://www.evil.com从您办公室的PC上,并假设该办公室中存在一个包含敏感信息的内部网http://intranet.company.com只能从本地网络访问。如果跨域策略不存在,www.evil.com可以向http://intran

javascript - Web Workers 是一种安全的方式来沙盒不受信任的 JavaScript 代码吗

我想知道WebWorker是否是对不受信任的JavaScript代码进行沙盒处理的安全方法。例如,在绘图应用程序的上下文中,开发人员可以在其中实现新的绘图工具,您可以将他们的代码放入webworker中,并且每当用户单击Canvas时,向他们发送包含光标位置的JSON消息,以及图像数据数组,当脚本完成时,它会传回一条包含新图像数据的消息。这是否安全,或者是否存在我没​​有想到的风险? 最佳答案 DOM对Webworker不可用,但可以访问同源内容,例如indexedDB。请参阅我的相关问题:Canworkersbesecureeno

javascript - Microsoft Edge 不接受内容安全策略的哈希

问题Content-Security-Policy应该默认将脚本和样式解析列入黑名单,并允许它基于各种指令来验证预期输出的哈希值。浏览器必须无法实现任何未预先提供匹配哈希的Javascript或CSS。具有匹配散列的代码应正常执行。MicrosoftEdge拒绝所有JS/CSS页内block。说明在MicrosoftEdge和任何其他浏览器中访问下面的实时演示链接。现场演示:http://output.jsbin.com/biqidoqebu演示原始源码#loading{color:transparent}#loading:after{color:green;content:"Styl

asp.net - 使用 Ajax,是在服务器端还是在客户端生成额外的标记更好?

在AJAX请求中哪个更好,用现成的HTML响应或只用数据响应并使用JavaScript编写HTML,这个JavaScript将使用预定义的HTML模板将即将到来的数据放入页面并显示在页面上。在服务器上创建HTML并发送到页面,将减少客户端JS代码,但会增加响应大小。将数据发送到客户端会减少响应大小,但会增加JS代码。哪个更好用最多? 最佳答案 我认为正确的解决方案高度依赖于上下文。对于给定的情况,可能有一个正确的答案,但没有一个适合所有人的答案。通常,如果我使用的是通过AJAX替换的局部View,我将返回html。如果我对某事的一小

c# - 如何更改浏览器的后退按钮功能,类似于 asp.net 中的电子商务网站

我有一个Web应用程序,应该在其中自定义浏览器的后退按钮功能。这就像,每当我们点击浏览器的后退按钮时,它应该带我们到登陆页面(登录页面),它应该显示错误消息说“session已过期”。请重新登录'。我浏览了很多帖子,甚至在堆栈溢出中,我也看到了很少的帖子。但对我没有任何帮助。我使用的java脚本方法作为临时解决方法。基本上这个JavaScript永远不允许我们返回。相反,它会让我们保持在同一页面上。我用过的JavaScripthistory.go(1)请帮助我自定义浏览器后退按钮的功能。任何建议都会对我很有帮助。 最佳答案 简答:你

<script> block 中的 ASP.NET 服务器端注释

我知道您可以通过在ASP.NET(MVC)中创建“服务器端评论”(它们不会作为评论/文本发送给客户端)标签。但是,我似乎无法在标记内执行此操作——如果我尝试这样做,我会得到一堆带有红色下划线的代码,以及奇怪的无关错误(“无效的表达式术语'}')等.来自VisualStudio。是否有另一种方法可以在脚本标签内添加服务器端注释?我想评论我的内联Javascript,但不想将我的评论发送给客户。 最佳答案 您可以毫无问题地添加评论。VisualStudio很笨,不识别JS中的ASP标签。您的页面仍然可以正常编译。如另一个答案中所述,使用

javascript - asp.net 按钮在回发之前单击 w/javascript "are you sure?"

我有一个asp:button,它会触发删除并希望有一个客户端javascript,你确定弹出窗口可以防止任何意外吗。用什么javascript来处理这个? 最佳答案 您可以将javascript添加到按钮的OnClientClick()事件中...关键是如果要取消该事件,则返回false。如果返回false,则不会触发OnClick。或者,您可以调用javascript中的方法MyDeleteConfirm()做了更详细的事情,但如果您不想删除则返回false。 关于javascript